<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<title>std::filesystem::copy - cppreference.com</title>
<meta charset="UTF-8">
<meta name="generator" content="MediaWiki 1.21.2">
<link rel="shortcut icon" href="../../../common/favicon.ico">
<link rel="stylesheet" href="../../../common/ext.css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="../../../common/site_modules.css">
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}#toc{display:none}.editsection{display:none}
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-css:7:472787eddcf4605d11de8c7ef047234f */</style>

<script src="../../../common/startup_scripts.js"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"cpp/filesystem/copy","wgTitle":"cpp/filesystem/copy","wgCurRevisionId":136419,"wgArticleId":15157,"wgIsArticle":true,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"cpp/filesystem/copy","wgRestrictionEdit":[],"wgRestrictionMove":[]});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function(){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":0,"showjumplinks":1,"shownumberswatching":1,"showtoc":0,"showtoolbar":1,"skin":"cppreference2","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":0,"watchdefault":0,"watchdeletion":0,
"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"gadget-ColiruCompiler":1,"gadget-MathJax":1});;},{},{});mw.loader.implement("user.tokens",function(){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});;},{},{});
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-js:7:9f05c6caceb9bb1a482b6cebd4c5a330 */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-cpp {line-height: normal;}
.source-cpp li, .source-cpp pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for cpp
 * CSS class: source-cpp, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.cpp.source-cpp .de1, .cpp.source-cpp .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.cpp.source-cpp  {font-family:monospace;}
.cpp.source-cpp .imp {font-weight: bold; color: red;}
.cpp.source-cpp li, .cpp.source-cpp .li1 {font-weight: normal; vertical-align:top;}
.cpp.source-cpp .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.cpp.source-cpp .li2 {font-weight: bold; vertical-align:top;}
.cpp.source-cpp .kw1 {color: #0000dd;}
.cpp.source-cpp .kw2 {color: #0000ff;}
.cpp.source-cpp .kw3 {color: #0000dd;}
.cpp.source-cpp .kw4 {color: #0000ff;}
.cpp.source-cpp .co1 {color: #909090;}
.cpp.source-cpp .co2 {color: #339900;}
.cpp.source-cpp .coMULTI {color: #ff0000; font-style: italic;}
.cpp.source-cpp .es0 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es1 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es2 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es3 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es4 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es5 {color: #008000; font-weight: bold;}
.cpp.source-cpp .br0 {color: #008000;}
.cpp.source-cpp .sy0 {color: #008000;}
.cpp.source-cpp .sy1 {color: #000080;}
.cpp.source-cpp .sy2 {color: #000040;}
.cpp.source-cpp .sy3 {color: #000040;}
.cpp.source-cpp .sy4 {color: #008080;}
.cpp.source-cpp .st0 {color: #008000;}
.cpp.source-cpp .nu0 {color: #000080;}
.cpp.source-cpp .nu6 {color: #000080;}
.cpp.source-cpp .nu8 {color: #000080;}
.cpp.source-cpp .nu12 {color: #000080;}
.cpp.source-cpp .nu16 {color:#000080;}
.cpp.source-cpp .nu17 {color:#000080;}
.cpp.source-cpp .nu18 {color:#000080;}
.cpp.source-cpp .nu19 {color:#000080;}
.cpp.source-cpp .ln-xtra, .cpp.source-cpp li.ln-xtra, .cpp.source-cpp div.ln-xtra {background-color: #ffc;}
.cpp.source-cpp span.xtra { display:block; }

/*]]>*/
</style><style type="text/css">/*<![CDATA[*/
.source-text {line-height: normal;}
.source-text li, .source-text pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for text
 * CSS class: source-text, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.text.source-text .de1, .text.source-text .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.text.source-text  {font-family:monospace;}
.text.source-text .imp {font-weight: bold; color: red;}
.text.source-text li, .text.source-text .li1 {font-weight: normal; vertical-align:top;}
.text.source-text .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.text.source-text .li2 {font-weight: bold; vertical-align:top;}
.text.source-text .ln-xtra, .text.source-text li.ln-xtra, .text.source-text div.ln-xtra {background-color: #ffc;}
.text.source-text span.xtra { display:block; }

/*]]>*/
</style><!--[if lt IE 7]><style type="text/css">body{behavior:url("/mwiki/skins/cppreference2/csshover.min.htc")}</style><![endif]--></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_filesystem_copy skin-cppreference2 action-view cpp-navbar">
        <!-- header -->
        <!-- /header -->
        <!-- content -->
<div id="cpp-content-base">
            <div id="content">
                <a id="top"></a>
                <div id="mw-js-message" style="display:none;"></div>
                                <!-- firstHeading -->
<h1 id="firstHeading" class="firstHeading"><span style="font-size:0.7em; line-height:130%">std::filesystem::</span>copy</h1>
                <!-- /firstHeading -->
                <!-- bodyContent -->
                <div id="bodyContent">
                                        <!-- tagline -->
                    <div id="siteSub">From cppreference.com</div>
                    <!-- /tagline -->
                                        <!-- subtitle -->
                    <div id="contentSub"><span class="subpages">&lt; <a href="../../cpp.html" title="cpp">cpp</a>‎ | <a href="../filesystem.html" title="cpp/filesystem">filesystem</a></span></div>
                    <!-- /subtitle -->
                                                            <!-- bodycontent -->
                    <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="t-navbar" style=""><div class="t-navbar-sep"> </div><div class="t-navbar-head"><a href="../../cpp.html" title="cpp"> C++</a><div class="t-navbar-menu"><div><div><table class="t-nv-begin" cellpadding="0" style="line-height:1.1em;">
<tr class="t-nv"><td colspan="5"> <a href="../compiler_support.html" title="cpp/compiler support"> Compiler support</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../freestanding.html" title="cpp/freestanding"> Freestanding and hosted</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../language.html" title="cpp/language"> Language</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../header.html" title="cpp/header"> Standard library headers</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../named_req.html" title="cpp/named req"> Named requirements </a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../feature_test.html" title="cpp/feature test"> Feature test macros </a> <span class="t-mark-rev t-since-cxx20">(C++20)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../utility.html#Language_support" title="cpp/utility"> Language support library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../concepts.html" title="cpp/concepts"> Concepts library</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../meta.html" title="cpp/meta"> Metaprogramming library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../error.html" title="cpp/error"> Diagnostics library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../utility.html" title="cpp/utility"> General utilities library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../string.html" title="cpp/string"> Strings library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../container.html" title="cpp/container"> Containers library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../iterator.html" title="cpp/iterator"> Iterators library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../ranges.html" title="cpp/ranges"> Ranges library</a> <span class="t-mark-rev t-since-cxx20">(C++20)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../algorithm.html" title="cpp/algorithm"> Algorithms library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../numeric.html" title="cpp/numeric"> Numerics library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../locale.html" title="cpp/locale"> Localizations library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../io.html" title="cpp/io"> Input/output library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../filesystem.html" title="cpp/filesystem"> Filesystem library</a> <span class="t-mark-rev t-since-cxx17">(C++17)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../regex.html" title="cpp/regex"> Regular expressions library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../thread.html" title="cpp/thread"> Concurrency support library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../experimental.html" title="cpp/experimental"> Technical specifications</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../symbol_index.html" title="cpp/symbol index"> Symbols index</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../links/libs.html" title="cpp/links/libs"> External libraries</a> </td></tr>
</table></div><div></div></div></div></div><div class="t-navbar-sep"> </div><div class="t-navbar-head"><a href="../filesystem.html" title="cpp/filesystem"> Filesystem library</a><div class="t-navbar-menu"><div><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv-h2"><td colspan="5"> Classes</td></tr>
<tr class="t-nv-col-table"><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="path.html" title="cpp/filesystem/path"><span class="t-lines"><span>filesystem::path</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="filesystem_error.html" title="cpp/filesystem/filesystem error"><span class="t-lines"><span>filesystem::filesystem_error</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="directory_entry.html" title="cpp/filesystem/directory entry"><span class="t-lines"><span>filesystem::directory_entry</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="directory_iterator.html" title="cpp/filesystem/directory iterator"><span class="t-lines"><span>filesystem::directory_iterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="recursive_directory_iterator.html" title="cpp/filesystem/recursive directory iterator"><span class="t-lines"><span>filesystem::recursive_directory_iterator</span></span></a></div><div><span class="t-lines"><span>    </span></span></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="file_status.html" title="cpp/filesystem/file status"><span class="t-lines"><span>filesystem::file_status</span></span></a></div></div></td></tr>
</table></div></td><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="space_info.html" title="cpp/filesystem/space info"><span class="t-lines"><span>filesystem::space_info</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="file_type.html" title="cpp/filesystem/file type"><span class="t-lines"><span>filesystem::file_type</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="perms.html" title="cpp/filesystem/perms"><span class="t-lines"><span>filesystem::perms</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="perm_options.html" title="cpp/filesystem/perm options"><span class="t-lines"><span>filesystem::perm_options</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="copy_options.html" title="cpp/filesystem/copy options"><span class="t-lines"><span>filesystem::copy_options</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="directory_options.html" title="cpp/filesystem/directory options"><span class="t-lines"><span>filesystem::directory_options</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="file_time_type.html" title="cpp/filesystem/file time type"><span class="t-lines"><span>filesystem::file_time_type</span></span></a></div></div></td></tr>
</table></div></td></tr>
<tr class="t-nv-h2"><td colspan="5"> Functions</td></tr>
<tr class="t-nv-col-table"><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="absolute.html" title="cpp/filesystem/absolute"><span class="t-lines"><span>filesystem::absolute</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="canonical.html" title="cpp/filesystem/canonical"><span class="t-lines"><span>filesystem::canonical</span><span>filesystem::weakly_canonical</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="relative.html" title="cpp/filesystem/relative"><span class="t-lines"><span>filesystem::relative</span><span>filesystem::proximate</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><strong class="selflink"><span class="t-lines"><span>filesystem::copy</span></span></strong></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="copy_file.html" title="cpp/filesystem/copy file"><span class="t-lines"><span>filesystem::copy_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="copy_symlink.html" title="cpp/filesystem/copy symlink"><span class="t-lines"><span>filesystem::copy_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="create_directory.html" title="cpp/filesystem/create directory"><span class="t-lines"><span>filesystem::create_directory<br>filesystem::create_directories</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="create_hard_link.html" title="cpp/filesystem/create hard link"><span class="t-lines"><span>filesystem::create_hard_link</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="create_symlink.html" title="cpp/filesystem/create symlink"><span class="t-lines"><span>filesystem::create_symlink<br>filesystem::create_directory_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="current_path.html" title="cpp/filesystem/current path"><span class="t-lines"><span>filesystem::current_path</span></span></a></div></div></td></tr>
</table></div></td><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="exists.html" title="cpp/filesystem/exists"><span class="t-lines"><span>filesystem::exists</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="equivalent.html" title="cpp/filesystem/equivalent"><span class="t-lines"><span>filesystem::equivalent</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="file_size.html" title="cpp/filesystem/file size"><span class="t-lines"><span>filesystem::file_size</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="hard_link_count.html" title="cpp/filesystem/hard link count"><span class="t-lines"><span>filesystem::hard_link_count</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="last_write_time.html" title="cpp/filesystem/last write time"><span class="t-lines"><span>filesystem::last_write_time</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="permissions.html" title="cpp/filesystem/permissions"><span class="t-lines"><span>filesystem::permissions</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="read_symlink.html" title="cpp/filesystem/read symlink"><span class="t-lines"><span>filesystem::read_symlink</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="remove.html" title="cpp/filesystem/remove"><span class="t-lines"><span>filesystem::remove<br>filesystem::remove_all</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="rename.html" title="cpp/filesystem/rename"><span class="t-lines"><span>filesystem::rename</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="resize_file.html" title="cpp/filesystem/resize file"><span class="t-lines"><span>filesystem::resize_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="space.html" title="cpp/filesystem/space"><span class="t-lines"><span>filesystem::space</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="status.html" title="cpp/filesystem/status"><span class="t-lines"><span>filesystem::status<br>filesystem::symlink_status</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="temp_directory_path.html" title="cpp/filesystem/temp directory path"><span class="t-lines"><span>filesystem::temp_directory_path</span></span></a></div></div></td></tr>
</table></div></td></tr>
<tr class="t-nv-h2"><td colspan="5">File types</td></tr>
<tr class="t-nv-col-table"><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_block_file.html" title="cpp/filesystem/is block file"><span class="t-lines"><span>filesystem::is_block_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_character_file.html" title="cpp/filesystem/is character file"><span class="t-lines"><span>filesystem::is_character_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_directory.html" title="cpp/filesystem/is directory"><span class="t-lines"><span>filesystem::is_directory</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_empty.html" title="cpp/filesystem/is empty"><span class="t-lines"><span>filesystem::is_empty</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="status_known.html" title="cpp/filesystem/status known"><span class="t-lines"><span>filesystem::status_known</span></span></a></div></div></td></tr>
</table></div></td><td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_fifo.html" title="cpp/filesystem/is fifo"><span class="t-lines"><span>filesystem::is_fifo</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_other.html" title="cpp/filesystem/is other"><span class="t-lines"><span>filesystem::is_other</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_regular_file.html" title="cpp/filesystem/is regular file"><span class="t-lines"><span>filesystem::is_regular_file</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_socket.html" title="cpp/filesystem/is socket"><span class="t-lines"><span>filesystem::is_socket</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="is_symlink.html" title="cpp/filesystem/is symlink"><span class="t-lines"><span>filesystem::is_symlink</span></span></a></div></div></td></tr>
</table></div></td></tr>
</table></div><div></div></div></div></div><div class="t-navbar-sep"> </div></div>
<table class="t-dcl-begin"><tbody>
<tr class="t-dsc-header">
<td> <div>Defined in header <code><a href="../header/filesystem.html" title="cpp/header/filesystem">&lt;filesystem&gt;</a></code>
 </div></td>
<td></td>
<td></td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td> <div><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span> copy<span class="br0">(</span> <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> from,<br>
<p>           <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> to <span class="br0">)</span><span class="sy4">;</span><br>
<span class="kw4">void</span> copy<span class="br0">(</span> <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> from,<br>
           <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> to,<br>
</p>
           <a href="../error/error_code.html"><span class="kw878">std::<span class="me2">error_code</span></span></a><span class="sy3">&amp;</span> ec <span class="br0">)</span><span class="sy4">;</span></span></div></td>
<td> (1) </td>
<td> <span class="t-mark-rev t-since-cxx17">(since C++17)</span> </td>
</tr>
<tr class="t-dcl t-since-cxx17">
<td> <div><span class="mw-geshi cpp source-cpp"><span class="kw4">void</span> copy<span class="br0">(</span> <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> from,<br>
<p>           <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> to,<br>
           <a href="copy_options.html"><span class="kw2246">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">copy_options</span></span></a> options <span class="br0">)</span><span class="sy4">;</span><br>
<span class="kw4">void</span> copy<span class="br0">(</span> <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> from,<br>
           <span class="kw4">const</span> <a href="path.html"><span class="kw2203">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">path</span></span></a><span class="sy3">&amp;</span> to,<br>
           <a href="copy_options.html"><span class="kw2246">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">copy_options</span></span></a> options,<br>
</p>
           <a href="../error/error_code.html"><span class="kw878">std::<span class="me2">error_code</span></span></a><span class="sy3">&amp;</span> ec <span class="br0">)</span><span class="sy4">;</span></span></div></td>
<td> (2) </td>
<td> <span class="t-mark-rev t-since-cxx17">(since C++17)</span> </td>
</tr>
<tr class="t-dcl-sep"><td></td><td></td><td></td></tr>
</tbody></table>
<p>Copies files and directories, with a variety of options
</p>
<div class="t-li1"><span class="t-li">1)</span> The default, equivalent to <span class="t-v">(2)</span> with <code>copy_options::none</code> used as <code>options</code></div>
<div class="t-li1"><span class="t-li">2)</span> Copies the file or directory <code>from</code> to file or directory <code>to</code>, using the copy options indicated by <code>options</code>. The behavior is undefined if there is more than one option in any of the <a href="copy_options.html" title="cpp/filesystem/copy options">copy_options</a> option group present in <code>options</code> (even in the <code>copy_file</code> group).</div>
<p>The behavior is as follows:
</p>
<ul><li> First, before doing anything else, obtains type and permissions of <code>from</code> by no more than a single call to 
</li></ul>
<dl><dd><ul><li> <span class="t-lc"><a href="status.html" title="cpp/filesystem/status">std::filesystem::symlink_status</a></span>, if <code>copy_options::skip_symlinks</code>, <code>copy_options::copy_symlinks</code>, or <code>copy_options::create_symlinks</code> is present in <code>options</code>;
</li><li> <span class="t-lc"><a href="status.html" title="cpp/filesystem/status">std::filesystem::status</a></span> otherwise.
</li></ul>
</dd></dl>
<ul><li> If necessary, obtains the status of <code>to</code>, by no more than a single call to
</li></ul>
<dl><dd><ul><li> <span class="t-lc"><a href="status.html" title="cpp/filesystem/status">std::filesystem::symlink_status</a></span>, if <code>copy_options::skip_symlinks</code> or <code>copy_options::create_symlinks</code> is present in <code>options</code>;
</li><li> <span class="t-lc"><a href="status.html" title="cpp/filesystem/status">std::filesystem::status</a></span> otherwise (including the case where <code>copy_options::copy_symlinks</code> is present in <code>options</code>).
</li></ul>
</dd></dl>
<ul><li> If either <code>from</code> or <code>to</code> has an implementation-defined <a href="file_type.html" title="cpp/filesystem/file type">file type</a>, the effects of this function are implementation-defined.
</li><li> If <code>from</code> does not exist, reports an error.
</li><li> If <code>from</code> and <code>to</code> are the same file as determined by <span class="t-lc"><a href="equivalent.html" title="cpp/filesystem/equivalent">std::filesystem::equivalent</a></span>, reports an error
</li><li> If either <code>from</code> or <code>to</code> is not a regular file, a directory, or a symlink, as determined by <span class="t-lc"><a href="is_other.html" title="cpp/filesystem/is other">std::filesystem::is_other</a></span>, reports an error
</li><li> If <code>from</code> is a directory, but <code>to</code> is a regular file, reports an error
</li><li> If <code>from</code> is a symbolic link, then
</li></ul>
<dl><dd><ul><li> If <code>copy_options::skip_symlink</code> is present in <code>options</code>, does nothing.
</li><li> Otherwise, if <code>to</code> does not exist and <code>copy_options::copy_symlinks</code> is present in <code>options</code>, then behaves as if <span class="t-c"><span class="mw-geshi cpp source-cpp">copy_symlink<span class="br0">(</span>from, to<span class="br0">)</span></span></span>
</li><li> Otherwise, reports an error
</li></ul>
</dd></dl>
<ul><li> Otherwise, if <code>from</code> is a regular file, then
</li></ul>
<dl><dd><ul><li> If <code>copy_options::directories_only</code> is present in <code>options</code>, does nothing
</li><li> Otherwise, if <code>copy_options::create_symlinks</code> is present in <code>options</code>, creates a symlink to <code>to</code>. Note: <code>from</code> must be an absolute path unless <code>to</code> is in the current directory.
</li><li> Otherwise, if <code>copy_options::create_hard_links</code> is present in <code>options</code>, creates a hard link to <code>to</code>
</li><li> Otherwise, if <code>to</code> is a directory, then behaves as if <span class="t-c"><span class="mw-geshi cpp source-cpp">copy_file<span class="br0">(</span>from, to<span class="sy2">/</span>from.<span class="me1">filename</span><span class="br0">(</span><span class="br0">)</span>, options<span class="br0">)</span></span></span> (creates a copy of <code>from</code> as a file in the directory <code>to</code>)
</li><li> Otherwise, behaves as if <span class="t-c"><span class="mw-geshi cpp source-cpp">copy_file<span class="br0">(</span>from, to, options<span class="br0">)</span></span></span> (copies the file)
</li></ul>
</dd></dl>
<ul><li> Otherwise, if <code>from</code> is a directory and <code>copy_options::create_symlinks</code> is set in <code>options</code>, reports an error with an error code equal to <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">make_error_code</span><span class="br0">(</span><a href="../error/errc.html"><span class="kw913">std::<span class="me2">errc</span><span class="sy4">::</span><span class="me2">is_a_directory</span></span></a><span class="br0">)</span></span></span>.
</li><li> Otherwise, if <code>from</code> is a directory and either <code>options</code> has <code>copy_options::recursive</code> or is <code>copy_options::none</code>,
</li></ul>
<dl><dd><ul><li> If <code>to</code> does not exist, first executes <span class="t-c"><span class="mw-geshi cpp source-cpp">create_directory<span class="br0">(</span>to, from<span class="br0">)</span></span></span> (creates the new directory with a copy of the old directory's attributes)
</li><li> Then, whether <code>to</code> already existed or was just created, iterates over the files contained in <code>from</code> as if by <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw1">for</span> <span class="br0">(</span><span class="kw4">const</span> <a href="directory_entry.html"><span class="kw2207">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">directory_entry</span></span></a><span class="sy3">&amp;</span> x <span class="sy4">:</span> <a href="directory_iterator.html"><span class="kw2208">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">directory_iterator</span></span></a><span class="br0">(</span>from<span class="br0">)</span><span class="br0">)</span></span></span> and for each directory entry, recursively calls <span class="t-c"><span class="mw-geshi cpp source-cpp">copy<span class="br0">(</span>x.<span class="me1">path</span><span class="br0">(</span><span class="br0">)</span>, to<span class="sy2">/</span>x.<span class="me1">path</span><span class="br0">(</span><span class="br0">)</span>.<span class="me1">filename</span><span class="br0">(</span><span class="br0">)</span>, options <span class="sy3">|</span> in<span class="sy2">-</span>recursive<span class="sy2">-</span>copy<span class="br0">)</span></span></span>, where <i>in-recursive-copy</i> is a special bit that has no other effect when set in <code>options</code>. (The sole purpose of setting this bit is to prevent recursive copying subdirectories if <code>options</code> is <code>copy_options::none</code>.)
</li></ul>
</dd></dl>
<ul><li> Otherwise does nothing
</li></ul>
<h3><span class="mw-headline" id="Parameters">Parameters</span></h3>
<table class="t-par-begin">


<tr class="t-par">
<td>  from
</td>
<td> -
</td>
<td>  path to the source file, directory, or symlink
</td></tr>
<tr class="t-par">
<td>  to
</td>
<td> -
</td>
<td>  path to the target file, directory, or symlink
</td></tr>
<tr class="t-par">
<td>  ec
</td>
<td> -
</td>
<td>  out-parameter for error reporting in the non-throwing overload
</td></tr></table>
<h3><span class="mw-headline" id="Return_value">Return value</span></h3>
<p>(none)
</p>
<h3><span class="mw-headline" id="Exceptions">Exceptions</span></h3>
<p>The overload that does not take a <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../error/error_code.html"><span class="kw878">std::<span class="me2">error_code</span></span></a><span class="sy3">&amp;</span></span></span> parameter throws <a href="filesystem_error.html" title="cpp/filesystem/filesystem error"><tt>filesystem::filesystem_error</tt></a> on underlying OS API errors, constructed with <code>from</code> as the first path argument, <code>to</code> as the second path argument, and the OS error code as the error code argument. The overload taking a <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../error/error_code.html"><span class="kw878">std::<span class="me2">error_code</span></span></a><span class="sy3">&amp;</span></span></span> parameter sets it to the OS API error code if an OS API call fails, and executes <span class="t-c"><span class="mw-geshi cpp source-cpp">ec.<span class="me1">clear</span><span class="br0">(</span><span class="br0">)</span></span></span> if no errors occur. Any overload not marked <code>noexcept</code> may throw  <span class="t-lc"><a href="../memory/new/bad_alloc.html" title="cpp/memory/new/bad alloc">std::bad_alloc</a></span> if memory allocation fails.
</p>
<h3><span class="mw-headline" id="Notes">Notes</span></h3>
<p>The default behavior when copying directories is the non-recursive copy: the files are copied, but not the subdirectories:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="cpp source-cpp"><pre class="de1"><span class="co1">// Given</span>
<span class="co1">// /dir1 contains /dir1/file1, /dir1/file2, /dir1/dir2</span>
<span class="co1">// and /dir1/dir2 contains /dir1/dir2/file3</span>
<span class="co1">// After</span>
std<span class="sy4">::</span><span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">copy</span><span class="br0">(</span><span class="st0">"/dir1"</span>, <span class="st0">"/dir3"</span><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// /dir3 is created (with the attributes of /dir1)</span>
<span class="co1">// /dir1/file1 is copied to /dir3/file1</span>
<span class="co1">// /dir1/file2 is copied to /dir3/file2</span></pre></div></div>
<p>While with <code>copy_options::recursive</code>, the subdirectories are also copied, with their content, recursively.
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="cpp source-cpp"><pre class="de1"><span class="co1">// ...but after</span>
std<span class="sy4">::</span><span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">copy</span><span class="br0">(</span><span class="st0">"/dir1"</span>, <span class="st0">"/dir3"</span>, <a href="copy_options.html"><span class="kw2251">std::<span class="me2">filesystem</span><span class="sy4">::</span><span class="me2">copy_options</span><span class="sy4">::</span><span class="me2">recursive</span></span></a><span class="br0">)</span><span class="sy4">;</span>
<span class="co1">// /dir3 is created (with the attributes of /dir1)</span>
<span class="co1">// /dir1/file1 is copied to /dir3/file1</span>
<span class="co1">// /dir1/file2 is copied to /dir3/file2</span>
<span class="co1">// /dir3/dir2 is created (with the attributes of /dir1/dir2)</span>
<span class="co1">// /dir1/dir2/file3 is copied to /dir3/dir2/file3</span></pre></div></div>
<h3><span class="mw-headline" id="Example">Example</span></h3>
<div class="t-example"><div class="t-example-live-link"><div class="coliru-btn coliru-btn-run-init">Run this code</div></div>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="cpp source-cpp"><pre class="de1"><span class="co2">#include &lt;cstdlib&gt;</span>
<span class="co2">#include &lt;iostream&gt;</span>
<span class="co2">#include &lt;fstream&gt;</span>
<span class="co2">#include &lt;filesystem&gt;</span>
<span class="kw1">namespace</span> fs <span class="sy1">=</span> std<span class="sy4">::</span><span class="me2">filesystem</span><span class="sy4">;</span>
 
<span class="kw4">int</span> main<span class="br0">(</span><span class="br0">)</span>
<span class="br0">{</span>
    fs<span class="sy4">::</span><span class="me2">create_directories</span><span class="br0">(</span><span class="st0">"sandbox/dir/subdir"</span><span class="br0">)</span><span class="sy4">;</span>
    <a href="../io/basic_ofstream.html"><span class="kw1737">std::<span class="me2">ofstream</span></span></a><span class="br0">(</span><span class="st0">"sandbox/file1.txt"</span><span class="br0">)</span>.<span class="me1">put</span><span class="br0">(</span><span class="st0">'a'</span><span class="br0">)</span><span class="sy4">;</span>
    fs<span class="sy4">::</span><span class="me2">copy</span><span class="br0">(</span><span class="st0">"sandbox/file1.txt"</span>, <span class="st0">"sandbox/file2.txt"</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// copy file</span>
    fs<span class="sy4">::</span><span class="me2">copy</span><span class="br0">(</span><span class="st0">"sandbox/dir"</span>, <span class="st0">"sandbox/dir2"</span><span class="br0">)</span><span class="sy4">;</span> <span class="co1">// copy directory (non-recursive)</span>
    <span class="kw4">const</span> <span class="kw4">auto</span> copyOptions <span class="sy1">=</span> fs<span class="sy4">::</span><span class="me2">copy_options</span><span class="sy4">::</span><span class="me2">update_existing</span>
                           <span class="sy3">|</span> fs<span class="sy4">::</span><span class="me2">copy_options</span><span class="sy4">::</span><span class="me2">recursive</span>
                           <span class="sy3">|</span> fs<span class="sy4">::</span><span class="me2">copy_options</span><span class="sy4">::</span><span class="me2">directories_only</span>
                           <span class="sy4">;</span>
    fs<span class="sy4">::</span><span class="me2">copy</span><span class="br0">(</span><span class="st0">"sandbox"</span>, <span class="st0">"sandbox_copy"</span>, copyOptions<span class="br0">)</span><span class="sy4">;</span> 
    <span class="kw1">static_cast</span><span class="sy1">&lt;</span><span class="kw4">void</span><span class="sy1">&gt;</span><span class="br0">(</span><a href="../utility/program/system.html"><span class="kw975">std::<span class="me2">system</span></span></a><span class="br0">(</span><span class="st0">"tree"</span><span class="br0">)</span><span class="br0">)</span><span class="sy4">;</span>
    fs<span class="sy4">::</span><span class="me2">remove_all</span><span class="br0">(</span><span class="st0">"sandbox"</span><span class="br0">)</span><span class="sy4">;</span>
    fs<span class="sy4">::</span><span class="me2">remove_all</span><span class="br0">(</span><span class="st0">"sandbox_copy"</span><span class="br0">)</span><span class="sy4">;</span>
<span class="br0">}</span></pre></div></div>
<p>Possible output:
</p>
<div dir="ltr" class="mw-geshi" style="text-align: left;"><div class="text source-text"><pre class="de1">.
├── sandbox
│   ├── dir
│   │   └── subdir
│   ├── dir2
│   ├── file1.txt
│   └── file2.txt
└── sandbox_copy
    ├── dir
    │   └── subdir
    └── dir2
 
8 directories, 2 files</pre></div></div> 
</div>
<h3><span class="mw-headline" id="Defect_reports">Defect reports</span></h3>
<p>The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
</p>
<table class="dsctable" style="font-size:0.8em">
<tr>
<th> DR
</th>
<th> Applied to
</th>
<th> Behavior as published
</th>
<th> Correct behavior
</th></tr>
<tr>
<td> <a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue3013">LWG 3013</a>
</td>
<td> C++17
</td>
<td> <code>error_code</code> overload marked noexcept but can allocate memory
</td>
<td> noexcept removed
</td></tr>
<tr>
<td> <a rel="nofollow" class="external text" href="https://cplusplus.github.io/LWG/issue2682">LWG 2682</a>
</td>
<td> C++17
</td>
<td> attempting to create a symlink for a directory succeeds but does nothing
</td>
<td> reports an error
</td></tr></table>
<h3><span class="mw-headline" id="See_also">See also</span></h3>
<table class="t-dsc-begin">

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="copy_options.html" title="cpp/filesystem/copy options"> <span class="t-lines"><span>copy_options</span></span></a></div><div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div></div>
</td>
<td>   specifies semantics of copy operations <br> <span class="t-mark">(enum)</span> </td></tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="copy_symlink.html" title="cpp/filesystem/copy symlink"> <span class="t-lines"><span>copy_symlink</span></span></a></div><div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div></div>
</td>
<td>   copies a symbolic link <br> <span class="t-mark">(function)</span> </td></tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div"><div><a href="copy_file.html" title="cpp/filesystem/copy file"> <span class="t-lines"><span>copy_file</span></span></a></div><div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div></div>
</td>
<td>   copies file contents <br> <span class="t-mark">(function)</span> </td></tr>
</table>

<!-- 
NewPP limit report
Preprocessor visited node count: 4669/1000000
Preprocessor generated node count: 9849/1000000
Post‐expand include size: 115254/2097152 bytes
Template argument size: 24343/2097152 bytes
Highest expansion depth: 20/40
Expensive parser function count: 0/100
-->

<!-- Saved in parser cache with key mwiki1-mwiki_en_:pcache:idhash:15157-0!*!0!!en!*!* and timestamp 20220507023129 -->
</div>                    <!-- /bodycontent -->
                                        <!-- printfooter -->
                    <div class="printfooter">
                    Retrieved from "<a href="https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/copy&amp;oldid=136419">https://en.cppreference.com/mwiki/index.php?title=cpp/filesystem/copy&amp;oldid=136419</a>"                    </div>
                    <!-- /printfooter -->
                                                            <!-- catlinks -->
                    <!-- /catlinks -->
                                                            <div class="visualClear"></div>
                    <!-- debughtml -->
                                        <!-- /debughtml -->
                </div>
                <!-- /bodyContent -->
            </div>
        </div>
        <!-- /content -->
        <!-- footer -->
        <div id="cpp-footer-base" class="noprint">
            <div id="footer">
                        <div id="cpp-navigation">
            <h5>Navigation</h5>
            <ul><li><a href="https://en.cppreference.com/w/cpp/filesystem/copy">Online version</a></li><li>Offline version retrieved 2022-07-30 14:05.</li></ul></div>
                        <ul id="footer-info">
                                    <li id="footer-info-lastmod"> This page was last modified on 17 December 2021, at 15:16.</li>
                                    <li id="footer-info-viewcount">This page has been accessed 164,658 times.</li>
                            </ul>
                    </div>
        </div>
        <!-- /footer -->
        <script>if(window.mw){
mw.loader.state({"site":"loading","user":"missing","user.groups":"ready"});
}</script>
<script src="../../../common/skin_scripts.js"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.page.ready","mediawiki.searchSuggest","mediawiki.hidpi","ext.gadget.ColiruCompiler","ext.gadget.MathJax"], null, true);
}</script>
<script src="../../../common/site_scripts.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2828341-1']);
_gaq.push(['_setDomainName', 'cppreference.com']);
_gaq.push(['_trackPageview']);
</script><!-- Served in 2.529 secs. -->
	</body>
<!-- Cached 20220507023129 -->
</html>